// 服务器地址
// const BASE_URL = 'https://dc8y0g.top/longchuan';
const BASE_URL = 'https://www.bugbustersclub.cn/longchuan';

// 封装请求方法
const request = (url, method, data) => {
    return new Promise((resolve, reject) => {
        const token = uni.getStorageSync('token');

        // 记录请求数据 (替代请求拦截器)
        console.log('请求URL:', BASE_URL + url);
        console.log('请求方法:', method);
        console.log('请求数据:', data);

        uni.request({
            url: BASE_URL + url,
            method,
            data,
            header: {
                'Content-Type': 'application/json',
                'Authorization': token ? `Bearer ${token}` : ''
            },
            success: (res) => {
                // 记录响应数据 (替代响应拦截器)
                console.log('响应数据:', res.data);

                if (res.statusCode === 200) {
                    if (res.data.code === 200) {
                        resolve(res.data.data);
                    } else {
                        uni.showToast({
                            title: res.data.message || '请求失败',
                            icon: 'none'
                        });
                        reject(res.data);
                    }
                } else if (res.statusCode === 401) {
                    // token失效，跳转登录页
                    uni.removeStorageSync('token');
                    uni.removeStorageSync('userInfo');
                    uni.reLaunch({
                        url: '/pages/login/login'
                    });
                    reject(res.data);
                } else {
                    // 记录错误详情
                    console.error('请求错误:', res);
                    uni.showToast({
                        title: '网络请求错误: ' + (res.statusCode || '未知错误'),
                        icon: 'none'
                    });
                    reject(res.data);
                }
            },
            fail: (err) => {
                // 记录失败详情
                console.error('请求失败:', err);
                uni.showToast({
                    title: '网络请求失败',
                    icon: 'none'
                });
                reject(err);
            }
        });
    });
};

// 封装各种请求方法
export default {
    baseUrl: BASE_URL,
    get: (url, data) => request(url, 'GET', data),
    post: (url, data) => request(url, 'POST', data),
    put: (url, data) => request(url, 'PUT', data),
    delete: (url, data) => request(url, 'DELETE', data)
};